/*
*所有关于InventoryCountItem类的业务代码接口应在此处编写
*/
using VOL.Core.BaseProvider;
using VOL.Entity.DomainModels;
using VOL.Core.Utilities;
using System.Linq.Expressions;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace VOL.demo.IServices
{
    public partial interface IInventoryCountItemService
    {
        /// <summary>
        /// 根据盘点单号获取明细列表
        /// </summary>
        /// <param name="countCode">盘点单号</param>
        /// <returns>盘点明细列表</returns>
        Task<List<InventoryCountItem>> GetItemsByCountCodeAsync(string countCode);

        /// <summary>
        /// 批量添加盘点明细
        /// </summary>
        /// <param name="items">明细列表</param>
        /// <returns>是否成功</returns>
        Task<bool> AddItemsAsync(List<InventoryCountItem> items);

        /// <summary>
        /// 根据盘点单号删除明细（逻辑删除）
        /// </summary>
        /// <param name="countCode">盘点单号</param>
        /// <returns>是否成功</returns>
        Task<bool> DeleteItemsByCountCodeAsync(string countCode);

        /// <summary>
        /// 更新单条盘点明细
        /// </summary>
        /// <param name="item">明细对象</param>
        /// <returns>是否成功</returns>
        Task<bool> UpdateItemAsync(InventoryCountItem item);
    }
 }
